<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="../js/jquery-1.10.1.min.js"></script>
  <style>
    * {
      padding: 0;
      margin: 0;
    }

    h3 {
      line-height: 60px;
    }

    li {
      list-style: none;
      line-height: 40px;
      border: 1px dashed #333;
    }

    .list {
      overflow: hidden;
    }

    .active {
      background-color: #6ff;
    }
  </style>
</head>

<body>
  <div class="wrap">
    <h3 id="title">批量操作元素</h3>
    <ul class="list">
      <li class="first">01</li>
      <li>02</li>
      <li>03</li>
      <li>04</li>
      <li>05</li>
      <li><span>06</span></li>
    </ul>
    <h2>123123</h2>
    <!-- <ul class="list">
      <li class="first">01</li>
      <li>02</li>
      <li>03</li>
      <li>04</li>
      <li>05</li>
      <li>06</li>
    </ul> -->
    <button class="getBtn">获取选中</button>
    <div class="box">
      <input type="checkbox" class="check-one">
      <input type="checkbox" class="check-one">
      <input type="checkbox" class="check-one">
      <input type="checkbox" class="check-one">
      <input type="checkbox" class="check-one">
    </div>

    <select name="" id="">
      <option value="2001">2001</option>
      <option value="2002">2002</option>
      <option value="2003">2003</option>
      <option value="2004">2004</option>
      <option value="2005">2005</option>
      <option value="2006">2006</option>
      <option value="2007">2007</option>
      <option value="2008">2008</option>
      <option value="2009">2009</option>
      <option value="2010">2010</option>
      <option value="2011">2011</option>
      <option value="2012">2012</option>
      <option value="2013">2013</option>
      <option value="2014">2014</option>
      <option value="2015">2015</option>
      <option value="2016">2016</option>
      <option value="2017">2017</option>
      <option value="2018">2018</option>
      <option value="2019">2019</option>
      <option value="2020">2020</option>
      <option value="2021">2021</option>
    </select>
  </div>
</body>
<script>
  // $(".list li").each(function (index, ele) {
  //   //     // this也指向循环的当前元素

  //   console.log(index, ele, this);
  // })

  $(".list li").click(function () {
    // console.log(this);
    $(this).addClass("active").siblings().removeClass("active");

  })

  // length    返回jQuery对象中元素的个数。
  // console.log($(".list li"));

  // index()  
  // index()          返回匹配的元素 相对于同级元素的下标(默认)
  // index(selector)  index()可以接收一个选择器 作为筛选范围,返回匹配元素 相对于该范围的下标s

  // $(".list li").click(function () {
  //   // console.log($(this).index()); //  返回匹配的元素 相对于同级元素的下标(默认)
  //   console.log($(this).index(".list li"));
  // })

  // data()   在元素上 获取和设置数据 (jquery自己创建的)
  // data(key,val)  通过键名 存储数据,已存在就修改  
  // data(key)      通过键名获取数据
  // removeDate(key) 通过键名 删除数据

  $(".first").data("str", "冲波");
  $(".first").data("num", 100);
  $(".first").data("bool", true);
  var arr = [1, 2, 3];
  var obj = { a: 1, b: 2 };
  $(".first").data("arr", arr);
  $(".first").data("obj", obj);

  console.log($.cache);

  // console.log($(".first").data("str"));
  // console.log($(".first").data("num"));
  // console.log($(".first").data("bool"));
  // console.log($(".first").data("arr"));
  // console.log($(".first").data("obj"));

  $(".first").removeData("str");
  $(".first").removeData("num");
  $(".first").removeData("bool");
  $(".first").removeData("arr");
  $(".first").removeData("obj");

  console.log($(".first").data("str"));
  console.log($(".first").data("num"));
  console.log($(".first").data("bool"));
  console.log($(".first").data("arr"));
  console.log($(".first").data("obj"));

  console.log("-------------------------------------------------------------------");

  // 等待页面中所有内容(文档,images,css,js)加载完毕 执行此函数
  // window.onload = function () {
  //   console.log("等待页面中所有内容加载完毕");
  // }

  // $(window).load(function () {  // 新版本 load方法有问题(报错)
  //   console.log("等待页面中所有内容加载完毕");

  // })

  // 等待页面中所有文档 加载完毕 执行此函数
  // document.addEventListener("DOMContentLoaded", function () {
  //   console.log("等待页面中所有文档 加载完毕");

  // })

  // $(document).ready(function () {
  //   console.log("等待页面中所有文档 加载完毕");

  // })

  // //简化
  // $(function () {
  //   console.log("等待页面中所有文档 加载完毕");

  // })

  console.log("-------------------------------------------------------------------");

  // :first  获取集合中的第一个元素 => jquery对象
  // :last   获取集合中的最后一个元素 => jquery对象
  // $(".list li:first").css({ background: "red" });
  // $(".list li:last").css({ background: "red" });

  // :lt(index)   获取小于对应下标的元素  
  // :eq(index)   获取对应下标的元素
  // :gt(index)   获取大于对应下标的元素

  // $(".list li:lt(3)").css({ background: "red" });
  // $(".list li:eq(3)").css({ background: "yellow" });
  // $(".list li:gt(3)").css({ background: "blue" });
  // $(".list li").eq(3).css({ background: "yellow" });

  // :even    匹配下标为偶数的元素
  // :odd     匹配下标为奇数的元素

  // $(".list li:even").css({ background: "red" });
  // $(".list li:odd").css({ background: "blue" });

  // :not()
  // $(".list li:not(:first)").css({ background: "red" });

  // :contains(txt)  匹配包含给定文本的元素
  // $(".list li:contains(3)").css({ background: "red" });

  // :has(selector)  匹配包含 selector所匹配元素 的元素
  // $(".list li:has(span)").css({ background: "red" });

  // :checked   匹配复选中 为选中状态的元素
  // :checked   匹配下拉框中 匹配所有选中的option元素

  $(".getBtn").click(function () {
    console.log($(".check-one:checked"));
    console.log($("select option:selected"), $("select option:selected").get(0));
  })
</script>

</html>